package com.ruoyi.yipaiju.service;

import java.util.List;

import com.alibaba.fastjson2.JSONObject;
import com.ruoyi.yipaiju.domain.ForeclosedHouse;

/**
 * fo_foreclosed_houseService接口
 * 
 * @author liuwp
 * @date 2023-03-01
 */
public interface IForeclosedHouseService 
{
    /**
     * 查询fo_foreclosed_house
     * 
     * @param id fo_foreclosed_house主键
     * @return fo_foreclosed_house
     */
    public ForeclosedHouse selectForeclosedHouseById(Long id);

    /**
     * 查询fo_foreclosed_house列表
     * 
     * @param foreclosedHouse fo_foreclosed_house
     * @return fo_foreclosed_house集合
     */
    public List<ForeclosedHouse> selectForeclosedHouseList(ForeclosedHouse foreclosedHouse);

    /**
     * 根据业务主键查询一条记录：fo_foreclosed_house
     *
     * @param foreclosedHouse fo_foreclosed_house
     * @return fo_foreclosed_house
     */
    public ForeclosedHouse selectOneForeclosedHouse(ForeclosedHouse foreclosedHouse);

    /**
     * 新增fo_foreclosed_house
     * 
     * @param foreclosedHouse fo_foreclosed_house
     * @return 结果
     */
    public int insertForeclosedHouse(ForeclosedHouse foreclosedHouse);

    /**
     * 修改fo_foreclosed_house
     * 
     * @param foreclosedHouse fo_foreclosed_house
     * @return 结果
     */
    public int updateForeclosedHouse(ForeclosedHouse foreclosedHouse);

    /**
     * 修改fo_foreclosed_house
     *
     * @param foreclosedHouse fo_foreclosed_house
     * @param foreclosedHouse fo_foreclosed_house条件
     * @return 结果
     */
    public int updateForeclosedHouseCondition(ForeclosedHouse foreclosedHouse, ForeclosedHouse foreclosedHouseCondition);

    /**
     * 批量删除fo_foreclosed_house
     * 
     * @param ids 需要删除的fo_foreclosed_house主键集合
     * @return 结果
     */
    public int deleteForeclosedHouseByIds(Long[] ids);

    /**
     * 删除fo_foreclosed_house信息
     * 
     * @param id fo_foreclosed_house主键
     * @return 结果
     */
    public int deleteForeclosedHouseById(Long id);

    /**
     * 条件删除fo_foreclosed_house
     *
     * @param foreclosedHouse fo_foreclosed_house
     * @return 结果
     */
    public int deleteForeclosedHouseByCondition(ForeclosedHouse foreclosedHouse);

    public void reflushForeclosedHousePosition();

    public void cleanForeclosedHouseData();

    public void timeHandlerForeclosedHouseData();

    public void cleanForeclosedHouseAreaData(String origin);

    public void sendSubscribeNotice();

    public void cleanForeclosedHouseStatus();
    public void cleanForeclosedHouseStatus1(Long serverId);

    public ForeclosedHouse selectForeclosedHouseByCode(String code);

    /**
     * 小区数据处理，暂时方案为根据地址通过ai获取小区名称
     * @param foreclosedHouse
     * @return
     */
    public String getForeclosedHouseEstate(ForeclosedHouse foreclosedHouse);
}
